Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie]Jak liczyc kliknięcia i przebytą odległosć myszki?


Rekomendowane odpowiedzi

Opublikowano

Witam

Jestem początkujący w Autoit.Chce zrobic malutki program ktore bedzie liczył kliknięcia myszki i przebytą odleglosc jaką pokonał kursror myszki.Ale nie wiem jak to zrobic ani jakich funkcji użyc.

Weteran
Opublikowano

Zapewne będziesz musiał użyć _IsPressed, ale sam nigdy się w takie coś nie bawiłem.

1329036830-U154499.png
Opublikowano

#include <Misc.au3>
$x =0
While 1
If _IsPressed(01) Then
 $x +=1
EndIf
If _IsPressed(24) Then
 MsgBox( 1, "klik", $x)
EndIf
WEnd

 

Zrobilem taki kodzik ale liczby wychodząm mi w tysiącach.Czy to dlatego że jak guzik jest wcisniety to cały czas dodaje?Jak to naprawic?

Opublikowano

#include <Misc.au3>
global $key[2] = [false, false]
$x =0
While 1
If _IsPressed(01) and not $key[0] Then
 $x +=1
$key[0] = true
else
$key[0] = false
EndIf
If _IsPressed(24) and not $key[1] Then
 MsgBox( 1, "klik", $x)
$key[1] = true
else
$key[1] = false
EndIf
WEnd

będzie liczyć kliknięcia, jak przytrzymasz to policzy raz.

Możesz dać sleepa w twoim kodzie np na 50 ms to będzie tylko 20x na sek sprawdzał klawisze.

 

zmiana pozycji myszy to nic innego jak porównanie współrzędnych myszki w 2 odstępach czasowych. MouseGetPos() się przyda. Zwraca tablice współrzędnych x y

Weteran
Opublikowano

W obliczaniu można by było obliczać różnicę pomiędzy konkretnymi współrzędnymi, a potem przyjąć dla odległości 1 piksela nie wiem np. 0.1mm i pomnożyć.

1329036830-U154499.png
Opublikowano

$lol1 = MouseGetPos()
sleep(1000)
$lol2 = MouseGetPos()
msgbox(64, '', $lol1[0] & $lol1[1] & "	    " & $lol2[0] & $lol2[1])

przesunięcie po czasie jednej sekundy. Przekątną wyliczasz jak przekątną prostokąta

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...